visibility-decoration. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114671 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/system_error b/include/system_error index 24b2322..c814493 100644 --- a/include/system_error +++ b/include/system_error
@@ -229,12 +229,14 @@ // is_error_code_enum -template <class _Tp> struct is_error_code_enum +template <class _Tp> +struct _LIBCPP_VISIBLE is_error_code_enum : public false_type {}; // is_error_condition_enum -template <class _Tp> struct is_error_condition_enum +template <class _Tp> +struct _LIBCPP_VISIBLE is_error_condition_enum : public false_type {}; // Some error codes are not present on all platforms, so we provide equivalents @@ -342,15 +344,19 @@ _ __v_; + _LIBCPP_ALWAYS_INLINE errc(_ __v) : __v_(__v) {} + _LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} }; -template <> struct is_error_condition_enum<errc> +template <> +struct _LIBCPP_VISIBLE is_error_condition_enum<errc> : true_type { }; -template <> struct is_error_condition_enum<errc::_> +template <> +struct _LIBCPP_VISIBLE is_error_condition_enum<errc::_> : true_type { }; class error_condition; @@ -360,7 +366,7 @@ class __do_message; -class error_category +class _LIBCPP_VISIBLE error_category { public: virtual ~error_category(); @@ -399,7 +405,7 @@ const error_category& generic_category(); const error_category& system_category(); -class error_condition +class _LIBCPP_VISIBLE error_condition { int __val_; const error_category* __cat_; @@ -469,7 +475,7 @@ // error_code -class error_code +class _LIBCPP_VISIBLE error_code { int __val_; const error_category* __cat_; @@ -588,9 +594,10 @@ operator!=(const error_condition& __x, const error_condition& __y) {return !(__x == __y);} template <> -struct hash<error_code> +struct _LIBCPP_VISIBLE hash<error_code> : public unary_function<error_code, size_t> { + _LIBCPP_INLINE_VISIBILITY size_t operator()(const error_code& __ec) const { return static_cast<size_t>(__ec.value()); @@ -599,7 +606,7 @@ // system_error -class system_error +class _LIBCPP_VISIBLE system_error : public runtime_error { error_code __ec_;